home *** CD-ROM | disk | FTP | other *** search
- #include <ctype.h>
- #include "defs.h"
-
- BOOL iskan(p)
- LONG p;
- {
- register int c1,c2;
-
- c1 = *Cnv_ptr(p++) & 0xff;
- c2 = *Cnv_ptr(p) & 0xff;
- if ( iskanji(c1) && p != btm_ptr && iskanji2(c2) )
- return TRUE;
- else
- return FALSE;
- }
- LONG Nxt_line2(p)
- register LONG p;
- {
- int ch,x;
-
- for ( x = 0 ; p < btm_ptr ; ) {
- ch = *Cnv_ptr(p);
- if ( ch == '\x0A' )
- return ++p;
- else if ( ch == '\t' ) {
- p++;
- if ( (x = ((x + TAB) / TAB) * TAB) >= MAX_X )
- return p;
- } else if ( iskan(p) != FALSE ) {
- if ( (x += 2) > MAX_X )
- return p;
- p+=2;
- } else if ( ch == '\x0D' ) {
- p++;
- } else {
- p++;
- if ( ++x >= MAX_X )
- return p;
- }
- }
- return p;
- }
- LONG Bak_line2(ptr)
- LONG ptr;
- {
- LONG s;
- register LONG p;
-
- if ( (p = ptr) != 0 && *Cnv_ptr(--p) == '\n' && p != 0 ) --p;
- while ( p != 0 && *Cnv_ptr(p) != '\n' ) --p;
- if ( p != 0 && *Cnv_ptr(p) == '\n' ) p++;
- do { s = p; } while ( (p = Nxt_line2(s)) < ptr );
-
- return s;
- }
- /********** move to buff.c ************
- LONG Nxt_line(p)
- register LONG p;
- {
- while ( p < btm_ptr ) {
- if ( *Cnv_ptr(p++) == '\n' )
- break;
- }
- return p;
- }
- ***************************************/
- LONG Bak_line(ptr)
- LONG ptr;
- {
- register LONG p;
-
- if ( (p = ptr) != 0 && *Cnv_ptr(--p) == '\n' && p != 0 ) --p;
- while ( p != 0 && *Cnv_ptr(p) != '\n' ) --p;
- if ( p != 0 && *Cnv_ptr(p) == '\n' ) p++;
-
- return p;
- }